package zy.service.base.product;

import java.util.List;
import java.util.Map;

import jxl.Workbook;
import jxl.write.WritableWorkbook;
import zy.entity.PageData;
import zy.entity.base.bra.T_Base_Bra;
import zy.entity.base.color.T_Base_Color;
import zy.entity.base.product.T_Base_Barcode;
import zy.entity.base.product.T_Base_Barcode_Set;
import zy.entity.base.product.T_Base_Product;
import zy.entity.base.product.T_Base_Product_Assist;
import zy.entity.base.product.T_Base_Product_Img;
import zy.entity.base.product.T_Base_Product_Shop_Price;
import zy.entity.sys.set.T_Sys_Set;
import zy.entity.sys.user.T_Sys_User;

public interface ProductService {
	PageData<T_Base_Product> page(Map<String,Object> param);
	List<T_Base_Product> list(Map<String,Object> param);
	List<T_Base_Product> productReport(Map<String,Object> param);
	Integer pdNoIfExit(T_Base_Product product);
	void save(T_Base_Product product);
	void save(Map<String,Object> param);
	void update(T_Base_Product product);
	void del(Map<String,Object> param);
	T_Base_Product queryByID(Integer pd_id);
	PageData<T_Base_Barcode> barcodelist(Map<String,Object> param);
	PageData<T_Base_Product_Shop_Price> shop_price_list(Map<String,Object> param);
	PageData<T_Base_Barcode> barcodepage(Map<String,Object> param);
	List<T_Base_Barcode_Set> barcodeplan(Map<String,Object> param);
	T_Base_Barcode_Set getPrintSetByBsid(Map<String,Object> param);
	T_Base_Barcode_Set getPrintSetByState(Map<String,Object> param);
	void enable_plan(Map<String,Object> param);
	void del_bar_plan(Map<String,Object> param);
	void save_barcode_printset(T_Base_Barcode_Set barcode_Set);
	List<T_Base_Color> colorByProduct(Map<String,Object> param);
	List<T_Base_Bra> braByProduct(Map<String,Object> param);
	void saveOneBarcode(Map<String,Object> param);
	void saveAllBarcode(Map<String,Object> param);
	void updateOneBarcode(Map<String,Object> param);
	void updateAllBarcode(Map<String,Object> param);
	void deleteBarcode(Map<String,Object> param);
	void delBulkBarcode(Map<String,Object> param);
	void delAllBarcode(Map<String,Object> param);
	List<String> queryBarCodeIfExit(Map<String,Object> param);
	List<T_Base_Product_Img> productimglist(Map<String,Object> param);
	void saveimg(Map<String,Object> param);
	void deleteimg(Map<String,Object> param);
	Boolean queryColorIfEmploy(Map<String,Object> param);
	Boolean querySizeIfEmploy(Map<String,Object> param);
	Boolean queryBraIfEmploy(Map<String,Object> param);
	Boolean queryProductIfEmploy(Map<String,Object> param);
	List<T_Base_Product> list_server(Map<String, Object> params);
	T_Base_Product loadByBarcode(String barcode,Integer companyid);
	Map<String, Object> parseSavingProductExcel(Workbook soureWorkBook, WritableWorkbook errsheet, T_Sys_User user) throws Exception;
	Map<String, Object> parseSavingBarcodeExcel(Workbook soureWorkBook, WritableWorkbook errsheet, T_Sys_User user, T_Sys_Set set) throws Exception;
	void save_import_barcode(Map<String,Object> param);
	List<T_Base_Product_Assist> assist_template(Map<String,Object> param);
	T_Base_Product_Assist get_assist_byid(Map<String,Object> param);
	void save_product_assist(T_Base_Product_Assist product_Assist);
	void update_product_assist(T_Base_Product_Assist product_Assist);
	void del_product_assist(Map<String,Object> param);
}
